package com.zeei.ems.meet.dao;

import com.zeei.ems.meet.model.MeetingContactVO;
import com.zeei.ems.meet.model.vo.MeetingContactParam;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface MeetingContactDao {
    /**
     * 查询通讯录信息
     * @param meetingContact 通讯录信息
     * @return 返回通讯录信息列表
     */
    List<MeetingContactVO> listMeetingContact(@Param("meetingContact") MeetingContactParam meetingContact);

    /**
     * 查询单条通讯录信息
     * @param userIdList 用户ID集合
     * @return 返回通讯录信息
     */
    List<MeetingContactVO> getMeetingContactList(@Param("userIdList") List<Integer> userIdList);

    /**
     * 根据登录用户ID获取回忆通讯录信息
     * @param loginUserId 登录用户ID
     * @return 通讯录对象
     */
    MeetingContactVO getMeetingContact(@Param("loginUserId") Integer loginUserId);

    /**
     * 新增通讯录
     * @param meetingContact 通讯录信息
     * @return 返回是否新增成功
     */
    Integer addMeetingContact(@Param("meetingContact") MeetingContactVO meetingContact);

    /**
     * 新增通讯录
     * @param meetingContact 通讯录信息
     * @return 返回是否新增成功
     */
    Integer updateMeetingContact(@Param("meetingContact") MeetingContactVO meetingContact);

    /**
     * 新增通讯录
     * @param userIdList 用户ID集合
     * @return 返回是否新增成功
     */
    Integer deleteMeetingContact(@Param("userIdList") List<Integer> userIdList);
}
